/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cz.muni.fi.pb138;

import java.io.IOException;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
import org.xml.sax.SAXException;

/**
 *
 * @author Vasa
 */
public interface Settings {
    
    
    /**
     * Gets username
     * @return username
     */
    public String getUsername();
    /**
     * Sets username
     * @param username username to set
     */
    public void setUsername(String username);
    /**
     * Gets password
     * @return password
     */
    public String getPassword();
    /**
     * Sets password
     * @param password password to set
     */
    public void setPassword(String password);
    /**
     * Gets dictionary
     * @return dictionaryName
     */
    public String getDictionaryName();
    /**
     * Sets dictionary name
     * @param dictionaryName Dictionary name to set
     */
    public void setDictionaryName(String dictionaryName);
    /**
     * Saves this class settings as xml to file located in users documents.
     * 
     * @throws ParserConfigurationException If creating a logical structure of document fails
     * @throws IOException  If creating a new file fails
     * @throws TransformerException If transforming attributes to xml fails
     */
    public void saveToXML() throws ParserConfigurationException,
            IOException, TransformerException;
    /**
     * Loads settings from file, where are saved in xml format
     * 
     * @throws ParserConfigurationException If creating a logical structure of document fails
     * @throws SAXException If getting of existing document failed
     * @throws IOException If getting of existing document failed
     */
    public void loadFromXML()throws ParserConfigurationException, SAXException,
            IOException;
}
